package silentDonkey.service;

import silentDonkey.domain.Admin;
import silentDonkey.domain.PageBean;
import silentDonkey.domain.User;

import java.util.List;
import java.util.Map;

/**
 * 用户管理的业务接口
 */
public interface UserService {
    /**
     * 查询所有用户信息
     *
     * @return 所有用户集合
     */
    public List<User> findAll();

    /**
     * 登录方法
     *
     * @param admin 请求构造的Admin对象
     * @return 数据库查询后返回的Admin实体对象
     */
    Admin login(Admin admin);

    /**
     * 添加用户
     *
     * @param user 表单提交的用户User对象
     */
    void addUser(User user);

    /**
     * 刪除用戶
     *
     * @param id 要刪除的用戶在數據庫中的id
     */
    void deleteUser(String id);

    /**
     * 查找用戶
     *
     * @param id 要查找用戶的數據表user id
     * @return 要查找的User实体对象
     */
    User findUserById(String id);

    /**
     * 修改用户
     *
     * @param user 要修改的用户对象
     */
    void updateUser(User user);

    /**
     * 批量删除用户
     *
     * @param ids 要删除的用户数据id
     */
    void deleteSelectedUser(String... ids);

    /**
     * 分页(条件)查询
     * @param currentPage 当前页码
     * @param rows 每页行数
     * @param map
     * @return PageBean数据对象
     */
    PageBean<User> findUserByPage(String currentPage, String rows, Map<String, String[]> map);
}
